// 42. 接雨水
// 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。

// 示例 1：

// 输入：height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
// 输出：6
// 解释：上面是由数组[0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1] 表示的高度图，在这种情况下，可以接 6 个单位的雨水（蓝色部分表示雨水）。
// 示例 2：

// 输入：height = [4, 2, 0, 3, 2, 5]
// 输出：9

var trap = function (height) {
    var s = 0
    var ls = 0
    for (i = 0; i < height.length; i++) {
        if (height[i] > 0) {
            ls = 0
            for (j = i + 2; j < height.length; j++) {
                ls += height[j - 1]
                if (height[j] >= height[i]) {
                    s += height[i] * (j - i - 1) - ls
                    i = j - 1
                    break
                }
            }
        }
    }
    return s
};
console.log(trap([4, 2, 3, 2, 3]));